#include <iostream>
#include <vector>
using namespace std;

int waysToStep(int n) 
{
    const int MOD=1e9+7;
    if(n==1||n==2)
    return n;
    if(n==3)
    return 4;
    vector<int> dp(n+1);
    dp[1]=1,dp[2]=2,dp[3]=4;
    for(int i=4;i<=n;i++)
        dp[i]=((dp[i-1]+dp[i-2])%MOD+dp[i-3])%MOD;
    return dp[n];
}
int main()
{
  cout<<waysToStep(10)<<endl;

}
